/**
 * Created by Administrator on 2017/5/3 0003.
 */
function createXHR(){
    if(window.XMLHttpRequest){
        return new XMLHttpRequest;
    }
    return new ActiveXObject("Microsoft.XMLHTTP");
}//创建XHR对象

//定义ajax函数
function ajax(url,fn) {
    var xhr=new createXHR();  //拿到核心对象

    xhr.open("get",url,true);

    xhr.send(null);

    //获取结果,异步请求会触发一个事件  onreadystatechange   （都是小写）

    // onreadystatechange 是一个事件，只有触发的时候，才会执行
    xhr.onreadystatechange=function () {

        if(xhr.readyState==4){   //xhr.readyState==4表示数据全部加载完成
            if(xhr.status==200){
                var str=xhr.responseText;
                fn(str);
            }
        }
    }

}
/*
*  async
 类型：Boolean
 默认值: true。默认设置下，所有请求均为异步请求。如果需要发送同步请求，请将此选项设置为 false。
 注意，同步请求将锁住浏览器，用户其它操作必须等待请求完成才可以执行。

 *
 *
 * data  带到服务器去的参数
 类型：String
 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。
 如果为数组，jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]}
 转换为 '&foo=bar1&foo=bar2'。

 dataType
 类型：String
 预期服务器返回的数据类型。如果不指定，jQuery 将自动根据 HTTP 包 MIME 信息来智能判断，比如 XML MIME 类型就被识别为 XML。在 1.4 中，JSON 就会生成一个 JavaScript 对象，而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后，传递给回调函数。可用值:
 "xml": 返回 XML 文档，可用 jQuery 处理。
 "html": 返回纯文本 HTML 信息；包含的 script 标签会在插入 dom 时执行。
 "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意：在远程请求时(不在同一个域下)，所有 POST 请求都将转为 GET 请求。（因为将使用 DOM 的 script标签来加载）
 "json": 返回 JSON 数据 。
 "jsonp": JSONP 格式。使用 JSONP 形式调用函数时，如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名，以执行回调函数。
 "text": 返回纯文本字符串

 success 就是现在我们所写 fn
 类型：Function
 请求成功后的回调函数。
 参数：由服务器返回，并根据 dataType 参数进行处理后的数据；描述状态的字符串。
 这是一个 Ajax 事件。

 type
 类型：String
 默认值: "GET")。请求方式 ("POST" 或 "GET")， 默认为 "GET"。注意：其它 HTTP 请求方法，如 PUT 和 DELETE 也可以使用，但仅部分浏览器支持。


 url
 类型：String
 默认值: 当前页地址。发送请求的地址。
* */